Allow the C bindings to be more permissive when a structure is missing some
authorEwan Mellor <ewan@xensource.com>
Tue, 28 Nov 2006 16:22:22 +0000 (16:22 +0000)
committerEwan Mellor <ewan@xensource.com>
Tue, 28 Nov 2006 16:22:22 +0000 (16:22 +0000)
entries.  Complaining is just slowing development down when the server and
clients get out of sync.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/libxen/src/xen_common.c

index bd370bb25728c5f4fc4260c3acfb1c6a9cbb5776..50b8e377e055a88969cf72720c584bf2e3440739 100644 (file)
 #include "xen_string_string_map.h"
 
 
+/*
+ * Whether to ignore missing structure entries.  This is not something we
+ * want to do, once the API has stabilised, as it indicates that the server is
+ * broken, but at the moment, complaining is just slowing development down.
+ */
+#define PERMISSIVE 1
+
+
 static xmlXPathCompExprPtr responsePath = NULL;
 static xmlXPathCompExprPtr faultPath = NULL;
 
@@ -756,6 +764,7 @@ static void parse_into(xen_session *s, xmlNode *value_node,
                 cur = cur->next;
             }
 
+#if !PERMISSIVE
             /* Check that we've filled all fields. */
             for (size_t i = 0; i < member_count; i++)
             {
@@ -780,6 +789,7 @@ static void parse_into(xen_session *s, xmlNode *value_node,
                     return;
                 }
             }
+#endif
 
             free(checklist);
             ((void **)value)[slot] = result;